package com.hooper.wallet.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hooper.wallet.domain.UserWallet;

/**
 * @author Mind
 * @description 针对表【user(用户表)】的数据库操作Service
 * @createDate 2023-03-07 18:56:03
 */
public interface UserWalletService extends IService<UserWallet> {


    /**
     * 查询余额
     *
     * @param userId 用户 id
     * @return 余额信息
     */
    String checkBalance(Long userId);

    /**
     * 用户消费方法
     *
     * @param userId 用户 id
     * @param cost   消费的金额
     * @return 返回成功信息
     */
    String costMoney(Long userId, Integer cost);

    /**
     * 用户退款方法
     * 一般退款的都为商品，带着商品 id 查询用户的消费记录或订单记录，查询到信息后，
     * 再进行退款，并更新订单状态等信息； 这里没有创建商品实体，故使用消费记录的id
     *
//     * @param recordId 退款记录 或 订单号
     * @param userId   用户id
     * @param amount   退款金额
     * @return 返回成功信息
     */
    String refundMoney(/*Long recordId,*/Long userId, Integer amount);


    /**
     * 用户充值方法
     *
     * @param userId 用户id
     * @param amount 充值金额
     * @return 成功信息
     */
    String topUp(Long userId, Integer amount);

    /**
     * 用户体现方法
     *
     * @param userId 用户id
     * @param amount 体现金额
     * @return 成功信息
     */
    String withdraw(Long userId, Integer amount);

}
